import { useGlobalStore } from '../store/global-store';
import { getNavigationBarColor, changeI18n4PageTitle } from './index';
import { initThirdLogin } from '../components/app-third-login/helper';

/**
 * 页面守卫
 */
export function usePageGuard() {
  return {
    tokenGuard,
    i18nGuard,
    themeGuard,
  };
}
/**
 * token守卫
 */
function tokenGuard() {
  const store = useGlobalStore();
  /**
   * token失效验证
   */
  store
    .validateToken()
    .then(() => {
      // 验证通过
    })
    .catch(() => {
      // #ifdef H5
      initThirdLogin().then(store.logout);
      // #endif
      // #ifndef H5
      store.logout();
      // #endif
    });
}
/**
 * 国际化，处理页面标题
 */
function i18nGuard() {
  changeI18n4PageTitle();
}

/**
 * 暗色主题，更新标题栏样式
 */
function themeGuard() {
  uni.setNavigationBarColor(getNavigationBarColor());
}
